Oblivious RAM Revisited
نویسندگان
چکیده
We reinvestigate the oblivious RAM concept introduced by Goldreich and Ostrovsky, which enables a client, that can store locally only a constant amount of data, to store remotely n data items, and access them while hiding the identities of the items which are being accessed. Oblivious RAM is often cited as a powerful tool, which can be used, for example, for search on encrypted data or for preventing cache attacks. However, oblivious RAM it is also commonly considered to be impractical due to its overhead, which is asymptotically efficient but is quite high: each data request is replaced by O(log n) requests, or by O(log n) requests where the constant in the “O” notation is a few thousands. In addition, O(n log n) external memory is required in order to store the n data items. We redesign the oblivious RAM protocol using modern tools, namely Cuckoo hashing and a new oblivious sorting algorithm. The resulting protocol uses only O(n) external memory, and replaces each data request by only O(log n) requests (with a small constant). This analysis is validated by experiments that we ran.
منابع مشابه
Oblivious Hashing Revisited, and Applications to Asymptotically Efficient ORAM and OPRAM
Oblivious RAM (ORAM) is a powerful cryptographic building block that allows a program to provably hide its access patterns to sensitive data. Since the original proposal of ORAM by Goldreich and Ostrovsky, numerous improvements have been made. To date, the best asymptotic overhead achievable for general block sizes is O(logN/ log logN), due to an elegant scheme by Kushilevitz et al., which in t...
متن کاملTowards Practical Oblivious RAM
We take an important step forward in making Oblivious RAM (O-RAM) practical. We pro-pose an O-RAM construction achieving an amortized overhead of 20 ∼ 35X (for an O-RAMroughly 1 terabyte in size), about 63 times faster than the best existing scheme. On the theoreticfront, we propose a fundamentally novel technique for constructing Oblivious RAMs: specifi-cally, we partition a bi...
متن کاملPerfectly Secure Oblivious RAM without Random Oracles
We present an algorithm for implementing a secure oblivious RAM where the access pattern is perfectly hidden in the information theoretic sense, without assuming that the CPU has access to a random oracle. In addition we prove a lover bound on the amount of randomness needed for information theoretically secure oblivious RAM.
متن کاملOblivious RAM with O((logN)3) Worst-Case Cost
Oblivious RAM (O-RAM) is a useful primitive that allows a client to hide its data access patterns from an untrusted server in storage outsourcing applications. This paper proposes novel O-RAM constructions that achieves poly-logarithmic worst-case cost, while consuming constant client-side storage. Our techniques for constructing Oblivious RAM are fundamentally different from previous approache...
متن کاملDistributed Oblivious RAM for Secure Two-Party Computation
We present a new method for secure two-party Random Access Memory (RAM) program computation that does not require taking a program and first turning it into a circuit. The method achieves logarithmic overhead compared to an insecure program execution. In the heart of our construction is a new Oblivious RAM construction where a client interacts with two non-communicating servers. Our two-server ...
متن کامل